package JavaCode.random_records.N101_200;

import JavaCode.data_structure_binary_tree.TreeNode;

/**
 * author:fangjie
 * time:2019/10/16
 */
public class N111_minimum_depth_of_binary_tree {
    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public int minDepth(TreeNode root) {
        if(root==null)return 0;
        int l=minDepth(root.left);
        int r=minDepth(root.right);
        return l*r==0?l+r+1:Math.min(l,r)+1;
    }
}
/**
 * 给定一个二叉树，找出其最小深度。
 *
 * 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
 *
 * 说明: 叶子节点是指没有子节点的节点。
 *
 * 示例:
 *
 * 给定二叉树 [3,9,20,null,null,15,7],
 *
 *     3
 *    / \
 *   9  20
 *     /  \
 *    15   7
 * 返回它的最小深度  2.
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/minimum-depth-of-binary-tree
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
